/*
 * HTMLTest.cpp
 *
 *  Created on: Mar 9, 2011
 *      Author: cnwilson
 */

#include"../utils/src/HTMLToken.cpp"
#include"../utils/src/HTMLTokenizer.cpp"
#include"../utils/src/StringUtil.cpp"
#include"../src/HTMLParser.cpp"
#include"../src/URL.cpp"
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>

	using namespace std;

int main(){
	ifstream file;

	file.open("SampleHTML3.txt");
	string text("");
	while(!file.eof()){
		char temp[2048];
		file.getline(temp,2048);
		text+=temp;
		text+="\n";
	}

	HTMLTokenizer tokenizer(text);

	HTMLParser parse;
	cout << endl<<  "Description:"<< endl;
	cout << *(parse.getDescription(&text))<<endl;

	LinkedList<string> *temp=parse.getLinks(&text);
	cout << endl<< "Links:("<< temp->GetSize() << " links)"<< endl;
	temp->Print();

	cout << endl << "Words:"<< endl;
	parse.getWords(&text)->Print();


//	while(tokenizer.HasNextToken()){
//		string tag("");
//		HTMLToken token(tokenizer.GetNextToken());
//		switch(token.GetType())
//		{
//			case TAG_START:
//				tag = "TAG_START";
//				break;
//
//			case TAG_END:
//				tag = "TAG_END";
//				break;
//
//			case TEXT:
//				tag = "TEXT";
//				break;
//
//			case END:
//				tag = "END";
//				break;
//
//			default:
//				tag = "ERROR!  Contact TA's about TypeToString() in HTMLToken.cpp.";
//				break;
//		}
//		cout<< tag << "\t\t" << token.GetValue() << "\t\t" << token.GetAttribute("href") << endl;
//	}

	return 0;
}
